home *** CD-ROM | disk | FTP | other *** search
- /*
- *
- * STDIO.H Standard i/o include file
- *
- * 1993.
- * Modified by Jason Petty.
- * Changes marked with VANSOFT.
- */
-
- #ifndef STDIO_H
- #define STDIO_H
-
- #ifndef STDDEF_H
- #include <clib/stddef.h>
- #endif
-
- #ifndef STDLIB_H /* VANSOFT. */
- #include <clib/stdlib.h> /* Prototypes of misc.lib functions. */
- #endif
-
- /*
- * CONSTANTS:
- */
-
- #define _NFILE (20) /* maximum number of open streams */
- #define OPEN_MAX _NFILE /* ANSI equivalent (replaces _NFILE) */
- #define FILENAME_MAX (128) /* maximum filename size */
- #define BUFSIZ (1024) /* default buffer size */
- #define EOF (-1) /* end-of-file indicator */
- #define EOS '\0' /* end-of-string indicator */
-
- #define RAND_MAX (0x7FFF) /* maximum value from rand() */
-
- #ifndef ERROR
- #define ERROR (-1) /* general error condition */
- #endif
-
- /* lseek() origins */
- #define SEEK_SET 0 /* from beginning of file */
- #define SEEK_CUR 1 /* from current location */
- #define SEEK_END 2 /* from end of file */
-
- /* cfg_ch() control flags */
- #define _CIOB 0x01 /* use bios rather than gemdos */
- #define _CIOCH 0x02 /* return only 8-bit values */
- #define _CIOVT 0x04 /* process vt52 escape codes */
-
- /* FILE structure flags */
- #define _IOREAD 0x0001 /* file may be read from */
- #define _IOWRT 0x0002 /* file may be written to */
- #define _IOBIN 0x0004 /* file is in "binary" mode */
- #define _IODEV 0x0008 /* file is a character device */
- #define _IORW 0x0080 /* last i/o was 0:read/1:write */
- #define _IOFBF 0x0100 /* i/o is fully buffered */
- #define _IOLBF 0x0100 /* i/o is line buffered */
- #define _IONBF 0x0400 /* i/o is not buffered */
- #define _IOMYBUF 0x0800 /* standard buffer */
- #define _IOEOF 0x1000 /* EOF has been reached */
- #define _IOERR 0x4000 /* an error has occured */
-
- typedef struct /* FILE structure */
- {
- int _cnt; /* # of bytes in buffer */
- unsigned char *_ptr; /* current buffer pointer */
- unsigned char *_base; /* base of file buffer */
- unsigned int _flag; /* file status flags */
- int _file; /* file handle */
- int _bsiz; /* buffer size */
- unsigned char _ch; /* tiny buffer, for "unbuffered" i/o */
- } FILE;
-
- #define L_tmpnam 128
- #define TMP_MAX 1000
-
- extern char *etext;
- extern char *edata;
- extern char *end;
-
- extern void _exit();
- extern FILE _iob[];
-
- /* standard streams */
- #define stdin (&_iob[0])
- #define stdout (&_iob[1])
- #define stderr (&_iob[2])
-
- /* stream macros */
- #define clearerr(fp) ((void) ((fp)->_flag &= ~(_IOERR|_IOEOF)))
- #define feof(fp) ((fp)->_flag & _IOEOF)
- #define ferror(fp) ((fp)->_flag & _IOERR)
- #define fileno(fp) ((fp)->_file)
-
- /* compatibility macros */
- #define sync() /* sync() not possible, no operation */
-
- /* aliases */
- #define getc fgetc
- #define ungetc fungetc
- #define putc fputc
- #define getchar() fgetc(stdin)
- #define ungetchar(c) fungetc((c),stdin)
- #define putchar(c) fputc((c),stdout)
- #define fexists exists
- #define exists(f) access(f,0x00)
- #define forkv(prog,args) forkve(prog,args,NULL)
- #define forkvp(prog,args) forkvpe(prog,args,NULL)
-
-
- /* Stdio library prototypes. VANSOFT. */
-
- extern void closeall(), rewind(), setbuf(), setvbuf(), perror();
-
- extern FILE *fdopen();
- extern FILE *fopen();
- extern FILE *freopen();
- extern FILE *_fopen();
-
- extern int access();
- extern int creat();
- extern int fclose();
- extern int fflush();
- extern int fgetc();
- extern int fungetc();
- extern int fputc();
- extern int fputs();
- extern int puts();
- extern int fread();
- extern int fgetpos();
- extern int fsetpos();
- extern int fwrite();
- extern int fseek();
- extern int getw();
- extern int isatty();
- extern int open();
- extern int close();
- extern int read();
- extern int remove();
- extern int unlink();
- extern int rename();
- extern int rmdir();
- extern int write();
-
- extern int sgetc();
- extern int sungetc();
- extern unsigned int sputc();
-
- extern long fprintf();
- extern long vfprintf();
- extern long printf();
- extern long vprintf();
- extern long fscanf();
- extern long scanf();
- extern long getl();
- extern long putl();
- extern long lseek();
- extern long tell();
- extern long sscanf();
- extern long fsize();
-
- extern char *gets();
- extern char *strerror();
-
- #endif
-